home *** CD-ROM | disk | FTP | other *** search
/ Trading on the Edge / Trading On The Edge - CD-ROM Toolkit (Wayzata Technology)(2031)(1994).bin / pc / mac_file / vendor_d / neuralwa / nw2v50 / bam.ins < prev    next >
Text File  |  1993-08-23  |  4KB  |  192 lines

  1. inst4.0        !01-Jun-89  (bam.ins)  BAM Network Builder
  2. !****************************************************************
  3. !*                                *
  4. !*    BAM Network Generator                    * 
  5. !*                                *
  6. !****************************************************************
  7.  
  8. !    *** check that input / output PE count is non-zero
  9.  
  10. ?&Hd1    1
  11. >bge    CheckOut
  12. @Err    "BAM MUST have at least one hidden 1 PE"
  13. :CheckOut
  14. ?&Hd2    1
  15. >bge    OutOK
  16. @Err    "BAM MUST have at least one hidden 2 PE"
  17. :OutOK
  18.  
  19. !    *** Estimate the layer spacing ***
  20. =f0    6.0
  21. =f1    &Hd1
  22. +f1    &Hd2
  23. /f1    15.0
  24. -f0    f1
  25. ?f0    2.0
  26. >bge    SpacOK
  27. =f0    2.0
  28. :SpacOK
  29.  
  30. !    *** Load the Control Strategy and LRS if needed
  31.  
  32. @LdCS    "bam"            !control strategy
  33. @LdLR    "hopfield"        !L/R schedule
  34. @LdSt    "default"        !Default style
  35.  
  36. =netn    "InstaNet (tm) BAM Network version 4.10 Sept-92"
  37. =DLnF    0            !learn  re-display off
  38. =DRcF    0            !recall re-display off
  39.  
  40. !    *** Build the Input Layer ***
  41.  
  42. @LLdf                !load default layer to mi_layer structure
  43. =LDln    "In"            !layer name
  44. =Lpes    &Hd1            !Input buffer spans
  45. +Lpes    &Hd2            !BAM1 and BAM2 layers
  46. =Ltrn    "Signum"        !transfer function
  47. =LDsp    f0            !spacing
  48. =x    100            !place to put layer on screen
  49. =y     60
  50. #Incl    "stdnwgtf.iif"        !standard # weight fields
  51. @LAdd                !add the input layer
  52.  
  53. !    *** Build the BAM I layer ***
  54.  
  55. @LLdf                !start with default layer again
  56. =LDln    "BAM I"            !layer name
  57. =Lpes    &Hd1            !desired number of PEs
  58. =Ltrn    "BAM"            !transfer function
  59. =Llrn    "BSB:Hebb"        !learning rule
  60. =LDsp    f0            !spacing
  61. =LInL    0.0            !low initialization limit
  62. =LInH    0.0            !high initialization limit
  63. +y    70            !up higher on display
  64. #Incl    "stdnwgtf.iif"        !standard # weight fields
  65. @LAdd
  66. =n1    LayN            !track BAM I layer
  67.  
  68. !    *** Connect input layer to BAM I layer ***
  69.  
  70. =NPEl    0            !input layer
  71. @NrPE
  72. =SPEl    LayN            !current layer
  73. @SlPE
  74. =cnwt    1.0            !connection weight
  75. =cnty    WSet            !set connections to input layer
  76. =cnsc    WRel            !relative connections
  77. @LCCr                !connect corresponding
  78.  
  79. !    *** Build the BAM II layer ***
  80.  
  81. =n0    f0            !calculate x offset for layer
  82. *n0    &Hd1
  83. *n0    10            !# pixels per x unit
  84.  
  85. @LLdf                !start with default layer again
  86. =LDln    "BAM II"        !layer name
  87. =Lpes    &Hd2            !desired number of PEs
  88. =Ltrn    "BAM"            !transfer function
  89. =Llrn    "BSB:Hebb"        !learning rule
  90. =LDsp    f0            !spacing
  91. =LInL    0.0            !low initialization limit
  92. =LInH    0.0            !high initialization limit
  93. +x    n0
  94. +y    70            !up higher on display
  95. #Incl    "stdnwgtf.iif"        !standard # weight fields
  96. @LAdd
  97. =n2    LayN            !track BAM II layer
  98.  
  99. !    *** Connect input layer to BAM II layer ***
  100.  
  101. =NPEl    0            !input layer
  102. =NPEn    &Hd1            !Start where BAM I left off
  103. =SPEl    LayN            !current layer
  104. =SPEn    0            !start of layer
  105. :In2Bam2            !now connect 1 by 1
  106. @SlPE                !select next PE in BAM2 layer
  107. @NrPE                !select next PE in input layer
  108. @PCon                !connect two PEs together
  109. +NPEn    1            !next PE in input layer
  110. +SPEn    1            !next PE in BAM II layer
  111. ?SPEn    &Hd2            !past the end?
  112. >blt    In2Bam2            !No
  113. =SPEn    0
  114. =NPEn    0
  115.  
  116. !    *** Build the output layer ***
  117.  
  118. @LLdf                !load default layer to mi_layer structure
  119. =LDln    "Out"            !layer name
  120. =Lpes    &Hd1            !output buffer spans
  121. +Lpes    &Hd2            !BAM1 and BAM2 layers
  122. =Ltrn    "Linear"        !transfer function
  123. =LDsp    f0            !spacing
  124. -x    n0
  125. +y    70
  126. #Incl    "stdnwgtf.iif"        !standard # weight fields
  127. @LAdd                !add the output layer
  128.  
  129. !    *** Connect BAM 1 layer to output layer ***
  130.  
  131. =SPEl    LayN            !output layer
  132. @SlPE
  133. =NPEl    n1            !BAM I layer
  134. @NrPE
  135. =cnty    WFix
  136. @LCCr
  137.  
  138. !    *** Connect BAM 2 layer to output layer ***
  139.  
  140. =NPEl    n2            !BAM II layer
  141. =NPEn    0            !Start of layer
  142. =SPEl    LayN            !Output layer
  143. =SPEn    &Hd1            !Start where BAM I left off
  144. :Bam22Out            !now connect 1 by 1
  145. @SlPE                !select next PE in output layer
  146. @NrPE                !select next PE in BAM II layer
  147. @PCon                !connect two PEs together
  148. +SPEn    1            !next PE in output layer
  149. +NPEn    1            !next PE in BAM II layer
  150. ?NPEn    &Hd2            !past the end?
  151. >blt    Bam22Out        !No
  152. =SPEn    0
  153. =NPEn    0
  154.  
  155. !    *** Connect BAM I & BAM II layers ***
  156.  
  157. =cnwt    0.0            !zero weights to start
  158. =cnty    WVar            !variable so they can "learn"
  159. =cnsc    WAbs            !Absolute connections
  160. =SPEl    n1            !BAM II -> BAM I
  161. @SlPE
  162. =NPEl    n2
  163. @NrPE
  164. @LCFl
  165. =SPEl    n2            !BAM I -> BAM II
  166. @SlPE
  167. =NPEl    n1
  168. @NrPE
  169. @LCFl
  170.  
  171. !    *** Select Control Strategy & L/R Schedule ***
  172.  
  173. @LLsl                !load super layer
  174. =Lctl    "bam"            !control strategy
  175. =Llrs    "hopfield"        !L/R Schedule
  176. =Llnn    "bam"            !name of learn input
  177. =Lrcn    "bam"            !name of recall output
  178. +Lflg    LAAs            !auto-associative network
  179. =Lscl    -1            !input  low-value
  180. =Loff     1            !input  high-value
  181. =Llow    -1            !output low-value
  182. =Lhgh     1            !output high-value
  183. @SVsl                !save it back
  184. !
  185. =Grph     1
  186. =GrLF    "bam"            !instrument list file
  187. !
  188. @Nini                !Initialize the network
  189. @EOF
  190.  
  191.  
  192.